home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
h
/
highspeedpascalv2.0b.dms
/
highspeedpascalv2.0b.adf
/
Interface
/
FileSystem.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-01-16
|
4KB
|
171 lines
Unit FileSystem;
Interface
Uses AmigaDOS, Exec;
Type
tFileSysEntry = Record
fse_Node: tNode;
fse_DosType: LongInt;
fse_Version: LongInt;
fse_PatchFlags: LongInt;
fse_Type: LongInt;
fse_Task: LongInt;
fse_Lock: LongInt;
fse_Handler: LongInt;
fse_StackSize: LongInt;
fse_Priority: LongInt;
fse_Startup: LongInt;
fse_SegList: LongInt;
fse_GlobalVec: LongInt;
End;
tFileSysResource = Record
fsr_Node: tNode;
fsr_Creator: pShortInt;
fsr_FileSysEntries: tList;
End;
tPartitionBlock = Record
pb_ID: LongInt;
pb_SummedLongs: LongInt;
pb_ChkSum: LongInt;
pb_HostID: LongInt;
pb_Next: LongInt;
pb_Flags: LongInt;
pb_Reserved1: Array [0..1] of LongInt;
pb_DevFlags: LongInt;
pb_DriveName: Array [0..31] of ShortInt;
pb_Reserved2: Array [0..14] of LongInt;
pb_Environment: Array [0..16] of LongInt;
pb_EReserved: Array [0..14] of LongInt;
End;
pBadBlockEntry = ^tBadBlockEntry;
tBadBlockEntry = Record
bbe_BadBlock: LongInt;
bbe_GoodBlock: LongInt;
End;
tBadBlockBlock = Record
bbb_ID: LongInt;
bbb_SummedLongs: LongInt;
bbb_ChkSum: LongInt;
bbb_HostID: LongInt;
bbb_Next: LongInt;
bbb_Reserved: LongInt;
bbb_BlockPairs: Array [0..60] of tBadBlockEntry;
End;
tLoadSegBlock = Record
lsb_ID: LongInt;
lsb_SummedLongs: LongInt;
lsb_ChkSum: LongInt;
lsb_HostID: LongInt;
lsb_Next: LongInt;
lsb_LoadData: Array [0..122] of LongInt;
End;
tFileSysHeaderBlock = Record
fhb_ID: LongInt;
fhb_SummedLongs: LongInt;
fhb_ChkSum: LongInt;
fhb_HostID: LongInt;
fhb_Next: LongInt;
fhb_Flags: LongInt;
fhb_Reserved1: Array [0..1] of LongInt;
fhb_DosType: LongInt;
fhb_Version: LongInt;
fhb_PatchFlags: LongInt;
fhb_Type: LongInt;
fhb_Task: LongInt;
fhb_Lock: LongInt;
fhb_Handler: LongInt;
fhb_StackSize: LongInt;
fhb_Priority: LongInt;
fhb_Startup: LongInt;
fhb_SegListBlocks: LongInt;
fhb_GlobalVec: LongInt;
fhb_Reserved2: Array [0..22] of LongInt;
fhb_Reserved3: Array [0..20] of LongInt;
End;
tRigidDiskBlock = Record
rdb_ID: LongInt;
rdb_SummedLongs: LongInt;
rdb_ChkSum: LongInt;
rdb_HostID: LongInt;
rdb_BlockBytes: LongInt;
rdb_Flags: LongInt;
rdb_BadBlockList: LongInt;
rdb_PartitionList: LongInt;
rdb_FileSysHeaderList: LongInt;
rdb_DriveInit: LongInt;
rdb_Reserved1: Array [0..5] of LongInt;
rdb_Cylinders: LongInt;
rdb_Sectors: LongInt;
rdb_Heads: LongInt;
rdb_Interleave: LongInt;
rdb_Park: LongInt;
rdb_Reserved2: Array [0..2] of LongInt;
rdb_WritePreComp: LongInt;
rdb_ReducedWrite: LongInt;
rdb_StepRate: LongInt;
rdb_Reserved3: Array [0..4] of LongInt;
rdb_RDBBlocksLo: LongInt;
rdb_RDBBlocksHi: LongInt;
rdb_LoCylinder: LongInt;
rdb_HiCylinder: LongInt;
rdb_CylBlocks: LongInt;
rdb_AutoParkSeconds: LongInt;
rdb_Reserved4: Array [0..1] of LongInt;
rdb_DiskVendor: Array [0..7] of ShortInt;
rdb_DiskProduct: Array [0..15] of ShortInt;
rdb_DiskRevision: Array [0..3] of ShortInt;
rdb_ControllerVendor: Array [0..7] of ShortInt;
rdb_ControllerProduct: Array [0..15] of ShortInt;
rdb_ControllerRevision: Array [0..3] of ShortInt;
rdb_Reserved5: Array [0..9] of LongInt;
End;
tBootBlock = Record
bb_id: Array [0..3] of ShortInt;
bb_chksum: LongInt;
bb_dosblock: LongInt;
End;
Const
IDNAME_PARTITION = $50415254;
FSRNAME = 'FileSystem.resource';
IDNAME_LOADSEG = $4C534547;
PBFB_NOMOUNT = $1;
PBFF_NOMOUNT = $14;
BBNAME_DOS = $444F5300;
RDBFB_LAST = $0;
RDBFF_LAST = $10;
PBFB_BOOTABLE = $0;
PBFF_BOOTABLE = $A;
RDBFB_CTRLRID = $5;
RDBFB_LASTTID = $2;
RDBFF_CTRLRID = $200;
RDBFF_LASTTID = $40;
RDB_LOCATION_LIMIT = $10;
IDNAME_BADBLOCK = $42414442;
RDBFB_DISKID = $4;
IDNAME_FILESYSHEADER = $46534844;
IDNAME_RIGIDDISK = $5244534B;
RDBFF_DISKID = $100;
RDBFB_LASTLUN = $1;
BOOTSECTS = $2;
RDBFF_LASTLUN = $20;
RDBFB_NORESELECT = $3;
RDBFF_NORESELECT = $80;
BBNAME_KICK = $4B49434B;
End.